package io.aicn.lowcode.service.dbmanager;

import com.baomidou.mybatisplus.extension.service.IService;
import io.aicn.lowcode.entity.dbmanager.DataDictionary;

import java.util.List;

/**
 * 数据字典Service接口
 * 
 * @author lowcode-generator
 * @since 2025-01-25
 */
public interface IDataDictionaryService extends IService<DataDictionary> {

    /**
     * 根据字典类型查询字典列表
     * 
     * @param dictType 字典类型
     * @return 字典列表
     */
    List<DataDictionary> listByType(String dictType);

    /**
     * 根据字典类型和编码查询字典项
     * 
     * @param dictType 字典类型
     * @param dictCode 字典编码
     * @return 字典项
     */
    DataDictionary getByTypeAndCode(String dictType, String dictCode);

    /**
     * 查询所有字典类型
     * 
     * @return 字典类型列表
     */
    List<String> getDictTypes();

    /**
     * 根据字典类型和编码查询字典标签
     * 
     * @param dictType 字典类型
     * @param dictCode 字典编码
     * @return 字典标签
     */
    String getDictLabel(String dictType, String dictCode);

    /**
     * 根据字典类型和标签查询字典编码
     * 
     * @param dictType 字典类型
     * @param dictLabel 字典标签
     * @return 字典编码
     */
    String getDictCode(String dictType, String dictLabel);
}